Installation method, activation method, execution apparatus and medium of application program

ABSTRACT

Without letting a user execute a cumbersome judgment of a version, an application program of the most suitable version is installed for data file automatically, thus an automatic activation of the application becomes possible. Firstly, a document file of a readout target is analyzed, a feature point as reserved word of macro instruction is extracted, and a version of an application suited for the document file is distinguished by an extracted feature point. Secondly, it is judged whether an application program of the version distinguished mentioned above is installed already. When found not being installed based on this judgment result, an application program of the version is newly installed.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] This invention relates to technology of automatic installationand automatic activation of an application of a version necessary fordata.

[0003] 2. Description of the Related Art

[0004] Data form of a document file made with a personal computer and aword processor, and data form of a spreadsheet file is changed accordingto version up of an application program which is used to make/update thedata. Therefore, there are many cases that data made with a program of anew version can not be used by a program of an old version. On thecontrary, there is the case that the data which was made with anapplication of an old version can not be edited by an application of anew version.

[0005] In case of application of a word processor, data storing form isdifferent due to aversion of an application. As a result, there is thecase that layout of a document cannot be reproduced with an applicationprogram of another version. Therefore it is necessary to convert dataform using another application called a document converter. In addition,the usable object is different due to its version in case of spreadsheetprogram. Therefore, there are cases that errors occur when reading datamade with a different version with one program.

[0006] Furthermore, the facility program that a constant procedurecalled macro is described is attached in this kind of program. Thismacro-specification, presence of reserved word, for example, aredifferent due to a version of the program. Therefore, macro concernedmay have produced execution impossibility or an error when opening datafile with a program of a version different from the version with whichthe data was made.

[0007] In networked society represented with Internet, there are manycases that this kind of data file is exchanged via communication. Thus,it was a big problem whether an application program installed in acomputer of oneself could be applicable for the version of the receiveddata.

[0008] Therefore, a procedure below was necessary in case that treatingthe data file with a version of the application installed in the user'scomputer was impossible. The user judges a version of the applicationthat can be used, investigate an acquisition point of the application,and install it in the computer of oneself after the user obtained anapplication.

[0009] By the way, in case of data file which different extension isgiven due to a version, the applicable version of the applicationprogram can be known by just referring to extension.

[0010] However, like a document form of “doc”, there are cases that theuniversal extension is applied even if versions of the applicationprogram with which the document was made are different. In this case thejudgment of an appropriate version was difficult in just observing datafile from the outside. Therefore, in the worst case scenario, repeatingthe following procedure was necessary. A user should try to install anapplication program of various kinds of versions with cut and try andrepeats opening the data file.

[0011] The present invention has been made to solve the above-explainedproblems, and therefore, has an object to provide such a techniquecapable of automatically installing an application program of a versionoptimally selected for a data file, thus eliminating a cumbersomeversion judging operation by a user, and automatically installingapplication program with the optimum version.

SUMMARY OF THE INVENTION

[0012] Firstly, this invention analyzes the data file which is to beread, and extracts a characteristic point. And a version of anapplication suited for the data file is distinguished by an extractedcharacteristic point. Secondly, it is judged whether an applicationprogram of the version distinguished is installed already. Anapplication program of a version concerned is installed newly when foundnot installed by this judgment result.

[0013] For example, this characteristic point is reserved word and asyntax pattern of macro instruction in a document file. In many cases,these reserved words and the syntax pattern depend on a version of theapplication program. A version of the most suitable application programto open a document file becomes clear by extracting these. Based upon ananalysis result of versions of application programs, both a documentfile and application programs of various corresponding versions aredisplayed at the same time on a display apparatus.

[0014] Then, users may select any one of these application programs toopen this document file among various versions. In this case, based oninformation provided by an analysis result, the document file may bedisplayed with the icons which differ in each version. Alternatively,when a user first selects a certain application program, only documentfiles which can be opened by this selected application program may bedisplayed.

BRIEF DESCRIPTION OF THE DRAWINGS

[0015]FIG. 1 is a function block figure of an automatic installationsystem according to an Embodiment of this invention.

[0016]FIG. 2 is a figure of block showing system constitution ofEmbodiment 1.

[0017]FIG. 3 is a figure of block showing relationship of each list ofEmbodiment 1.

[0018]FIG. 4 is a screen display example in visual display unit ofEmbodiment 2.

[0019]FIG. 5 is a function block figure to realize screen constitutionof FIG. 4.

[0020]FIG. 6 is a screen display example in visual display unit ofEmbodiment 2 (2).

[0021]FIG. 7 is a screen display example in visual display unit ofEmbodiment 2 (3).

[0022]FIG. 8 is a function block figure which shows a document file'srelationship with an application program in Embodiment 2.

[0023]FIG. 9 is a figure of function block when an application programof a corresponding version does not exist in an application list as aresult of analysis according to a document analysis control unit inEmbodiment 2.

[0024]FIG. 10 is a function block figure in case of installing anapplication program based on a document analysis result in Embodiment 2.

[0025]FIG. 11 is a function block figure in case of uninstalling when aninstallation domain is insufficient in Embodiment 2.

[0026]FIG. 12 is a function block figure which explains a procedure toexecute uninstallation and get a domain in Embodiment 2.

[0027]FIG. 13 is a figure of sequence at downloading an applicationprogram through a network in Embodiment 2 (1).

[0028]FIG. 14 is a figure of sequence at downloading an applicationprogram through a network in Embodiment 2 (2).

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiment 1

[0029] Based on a drawing, embodiments of this invention are describedas follows. FIG. 1 is a figure of block that function block figure of anautomatic installation system according to an Embodiment of thisinvention, and FIG. 2 shows system constitution of this Embodiment.

[0030] Terminal 21 is connected to server 31 through network 30 as shownin FIG. 2. A terminal 21 itself constitutes a computer system and cancarry out automatic installation processing of this Embodiment only withterminal 21.

[0031] Terminal 21 has a Central Processing Unit (CPU) 23, a memory 24,a visual display unit (CRT) 25, a print unit (PRT) 26 and Hard DiskDrive (HD) 27 through bus 22. In addition, terminal 21 has mouse 29 asan external auxiliary input means. In addition, the bus 22 is connectedto the network 30 through communication interface 28.

[0032]FIG. 1 shows an automatic installation procedure of thisEmbodiment. A program stored in HDD 27 is read into the memory 24, andthe CPU 23 executes the program sequentially. Installation is realizedin such a procedure.

[0033] The target document 1 is, for example, data file for a documentfile and a spreadsheet for a word processor. The target document 1 isregistered in HDD 27. The target document 1 has a normal document domainand a macro-description domain. Processing and a correction of characterstring prescribed with the macro instruction that accompanied thedocument become possible when reading the target document 1 with apredetermined word processor program.

[0034] The CPU 23 executes syntax analysis process 2 for this targetdocument 1 after such target document 1 is read into the memory 24. Thissyntax analysis process is, specifically, an operation to extract macroinstruction reserved word.

[0035] Extraction o f macro instruction reserved word is performed bygenerating the reserved word list 12 from the target document 1. This isperformed as follows, specifically. All the reserved words are referredto a database (DB) 13 registered with HDD 27. The reserved word from theinside of the target document 1 is extracted by pattern matching. Theextracted reserved word is registered in reserved word list 12. The list4 registered in the HDD 27 is compared with this reserved word list 12(comparing/referring process 3). At last, a valid version list 6 for thetarget document 1 is generated.

[0036] In addition, CPU (CPU) 23 executes search of a syntax pattern inparallel with above-mentioned syntax analysis process 2 (step 5). Amacro-program in target document 1 is divided to a token, an attributeof a token is judged, and it is judged whether a combination state of atoken of a specific attribute exists. The detection of a syntax patternis realized in this way. The detection of a coupling state implies, forinstance, detection of a coupling state “variable which constitutesinstance of Collection-Class “+” (“+” variable which constitutesinstance of Strings-Class “+”)”. When a valid version list 6 a isgenerated, a detection result of this syntax pattern is reflected and afinal valid version list 14 is generated. When the version list 6 a isgenerated, either an extraction result of macro instruction reservedword or a detection result of a syntax pattern may be given priority to.For example, in the case that the version produced based upon theextracted result of the macro instruction reserved word is differentfrom the version produced based upon the detection result of the syntaxpattern, the latest version having the larger numeral value may beemployed with a priority so as to produce the valid version list 6 a.

[0037] Secondly, an installed version list 7 is compared with the validversion list 6 a (comparison process 8). When an application program ofa corresponding version is installed in the already executable state inHDD 27 in terminal 21 as a result of this comparison process 8, theapplication program is executed (execution process 10). When anapplication program of a corresponding version is not installed,installation process 9 is performed.

[0038] It should also be noted that when the valid version list 6 (6 a)is produced, if the content of the version list is empty, namely if thevalid version cannot be judged, then the central processing unit (CPU)23 executes a warning process 11. For example, as for this warningprocess 11, a visual warning display may be performed on the CRT 25.

Embodiment 2

[0039] In Embodiment 1, the method for automatically determining theoptimum version of the relevant application program in such a mannerthat the CPU 23 executes the comparing process operation 8 is described.This Embodiment 2 has the following characteristics. A result ofcomparison process 8 is displayed in the form that at a glance a usercan grasp on the CRT 25. And the room where user oneself selects anapplication program of more than one version exists.

[0040] It should be understood that since the process operations definedprior to the comparing process operation 8 are similar to those ofEmbodiment 1 among the process operations explained in FIG. 1,explanations thereof are omitted.

[0041] While the central processing unit (CPU) 23 compares the validversion list 6 (6 a) obtained from the target document 1 with theinstalled version list 7, this central processing unit (CPU) 23 displaysa comparison screen 41 as indicated in FIG. 4 on the CRT 25. Thiscomparison screen 41 is divided in application list display window 42 ofa left side of the drawing, and module list display window 43. Inapplication list display window 42, an application program can bedisplayed in a hierarchical manner for each group. In the drawing,version 1.0-3.1 are listed as an application program in a folder of aspreadsheet (a spreadsheet program).

[0042] In addition, the database program and the word processor programare in a closed state, but have a plurality of application programs intheir folders as well.

[0043] On the other hand, in module list display window 43, more thanone target document 44 (FIG. 1, target document 1) is displayed as amodule. A user can decide optionally which document (a module) should beopened by which version of an application program by referring to CRT.

[0044] In the drawing, for example, when the target document 44 (amodule) is opened by an application program of version 2.0 of aspreadsheet, the mouse cursor 46 on a screen is arranged by the mouse29, and a button of the mouse 29 (not illustrated) is pushed once here.By this act (drag), the target document 44 (a module) is selected, andonly an application program of a version for opening this targetdocument 44 is displayed with high brightness in application listdisplay window 42. That is, all of a plurality of corresponding versionsare displayed with high brightness when there are plurality of versionsof application programs to open the target document 44.

[0045] An activation method of an application is shown below. The Mousecursor 46 is moved on an application program of an arbitrary version(this place, version 2.0) on application display window 42 in the statea button of the mouse 29 being pushed (a drag state). When the button isopened up (drop), an application program of version 2.0 of a spreadsheetis activated as a target file with the target document 44 (a module).This technique is an input technique on screen interface so-called “drag& drop.”

[0046] The drawing where function constitution to realize interfacedescribed in FIG. 4 is shown in FIG. 5.

[0047] In the drawing, the document analysis control unit 51 has afunction to execute the syntax analysis process 2 and thecomparing/referring process 3 as shown in FIG. 1, and has a function tocontrol display on the CRT 25. That is, the document analysis controlunit 51 sequentially reads the target documents 1 under a predeterminedfolder or a directory, executes analysis of the version and displays thetarget documents 1 in a list form on the module list display window 43.In a module displayed on this module list display window 43 (targetdocument 44), the following matters are distinguished already by thedocument analysis control unit 51. Whether the document file islegitimate document file readable by an application program installed inHDD 27 or not. With which version the document can be opened when thedocument is a legitimate document file.

[0048] When document analysis control unit 51 reads the target document1 and executes analysis, it notifies application path acquisition unit54 of an application name and the version name which are the result ofthis analysis. This application path acquisition unit 54 controls adisplay of application list display window 42. And this application pathacquisition unit 54 lets application list display window 42 display onlyan application of a version received from document analysis control unit51.

[0049] When target document 44 on the module list display window 43 (amodule) is selected by said drag operation of mouse 29, this choiceinformation is notified to the application path acquisition unit 54through the document analysis control unit 51. And a version of acorresponding application program on the application list display window42 is displayed with high brightness.

[0050] When an application of a predetermined version (45 to program anapplication of a spreadsheet of version 2.0 here) is selected by dropoperation of mouse 29, this choice information is notified to OS(Operating System) as an execution pass through the application pathacquisition unit 54. By this, the OS receives an execution file pathfrom application path acquisition unit 54 and receives a document filepath from document analysis control unit 51. And the OS executes targetdocument 44 (a module) by an application program of a selected version.

[0051] In addition, Windows 3.1, Windows 95 or Windows 98 of Microsoftcompany and other OS may be used as OS in this Embodiment.

[0052]FIG. 6 and FIG. 7 are transformation examples of the comparisondisplay which a version of an application program corresponding to atarget document (a module) and a target document was compared in adisplay of comparison screen 41.

[0053]FIG. 6 is the drawing which is displayed with an icon of acorresponding version when a different icon is defined by each versionof an application program and the target document 44 (a module) isdisplayed.

[0054] Here, in the existing OS, an icon is defined by extension of afile name (for example, XLS and DOC). Therefore, the file is displayedwith the same icon even if a version of the file is different when thesame extension is given to a file. In this way, grasp of a version ofthe target document was difficult when merely the icon was displayed.

[0055] Here, in an example shown by FIG. 6, the corresponding version isgrasped about all target documents 44 in the document analysis controlunit 51. Therefore, a version corresponding to a target document isdisplayed without being controlled by the presence of extension of afile name but being distinguished at first sight with an icon.

[0056]FIG. 7 is the example that only the target document 44corresponding to a version appointed with the application list displaywindow 42 is displayed in the module list display window 43. Here, whena specific version is appointed by the application list 53, the versionis detected by the application path acquisition unit 54, and it isinformed that the version is appointed towards the document analysiscontrol unit 51. Based on this notice, only a target documentcorresponding to the version (module 44) is displayed on the module listdisplay window 43 by the document analysis control unit 51.

[0057]FIG. 8 shows the general idea that a version of the applicationprogram 53 is selected by a target document. By the screen interfacedescribed in FIG. 4, FIG. 6 and FIG. 7, the situation when the targetdocument 84 a and 84 b are read in the document analysis control unit 51is described below. When these target documents are analyzed by thedetailed analysis unit 51 a, the application program 45 a of the mostsuitable version is chosen among already installed application programs(FIG. 8, drawing). And the target document 84 a is opened by theapplication program 45 a decided by the detailed analysis unit 51 a.

[0058] A function block constitution when an application program of aversion corresponding target document 44 does not exist in applicationlist 53 is shown in FIG. 9 as a result that target document 44 isanalyzed by document analysis control unit 51. Because most of theconstitution is similar to FIG. 5, explanation of the part is omitted inthe drawing.

[0059] The installation control unit 91 is the control unit forinstalling an application program in the state that execution ispossible in HDD 27. Specifically, the installation control unit 91 has afunction to install an application program in HDD 27 of the terminal 21from CD-ROM and server 31 that are not illustrated. When the applicationpath acquisition unit 54 cannot acquire a path from the application list53, in other words, when a version corresponding to the target document44 selected in module list 52 (a module) does not exist, how theinstallation control unit 91 is activated is shown in FIG. 9.

[0060]FIG. 10 is a drawing where an installation procedure of anapplication program of a new version by the installation control unit 91is shown.

[0061] In the drawing, the target document 1001,1002 of version n areread into the document analysis control unit 51 sequentially, and thedetailed analysis unit 51 a judges a version of an application program.In spite of the judgment, an already installed application program(1003) is version m. It does not correspond to the target documents 1001and 1002 of the version n (FIG. 10(a)).

[0062] A notice from the document analysis control unit 51 is receivedthen, the installation control unit 91 is activated, and the applicationprogram 1004 corresponding to the version n of the target documents1001,1002 is newly installed (FIG. 10(b)).

[0063] Here, an installation source of the application program may beHDD 27 in the terminal 21, it may be the CD-ROM drive unit which is notillustrated, and from server 31 through network 30. When an applicationprogram is downloaded through network 30 by server 31, FTP (FileTransfer Protocol) using TCP/IP may be used.

[0064] The application program 1004 newly installed in HDD 27 isactivated, and the target document 1001 or the target document 1002 of aversion corresponding to this application program 104 (FIG. 10 (c)) isopened.

[0065] When an application program of a necessary version is installed,a function block drawing and the process procedure for an installationdomain to be kept are shown in FIG. 11 and FIG. 12.

[0066] In FIG. 11, the uninstallation control unit 1101 is added toconstitution shown in FIG. 9. That is, even though the installationcontrol unit 91 is activated by an example described in FIG. 9 and FIG.10, there is the case that the domain where an application program of anew version is installed in HDD (HD) 27 is insufficient. In this case,the uninstallation control unit 1101 shown in FIG. 11 is activated.

[0067] This uninstallation control unit 1101 is also realized as aprogram, and the uninstallation control unit 1101 is realized by theprogram being executed by the CPU 23.

[0068]FIG. 12 shows a process procedure of the uninstallation andinstallation. When the most suitable version is not detected by anapplication program installed by the detailed analysis unit 51 a (FIG.12 (a)), the installation control unit 91 starts. However, there is thecase that the domain where a new application program is installed doesnot remain in HDD 27 (FIG. 12 (b)).

[0069] In this case the installation control unit 91 notifies theuninstallation control unit 1101 of domain insufficiency. By this, theuninstallation control unit 1101 eliminates an unnecessary file from HDD27. It is decided which file is eliminated with a standard as follows.

[0070] For example, the application program that does not satisfy autilization condition may be uninstalled with precedence. For example,an application program of a condition that it is usable after itsdownload for 30 days corresponds to this.

[0071] In addition, it can be uninstalled in volume order. Generally,when importance of an application with a little volume is low, thevolume is eliminated first from a small application program. Inaddition, the volume is eliminated from a big application program whenuninstalled program number is reduced and when the domain keepingefficiency is given priority to.

[0072] In addition, a turn to uninstall may be decided by an installeddate order, an importance, a number of a made document and number of acommon file.

[0073]FIG. 13 and FIG. 14 are figures of sequence wherein the procedureof an application program being downloaded through the network 30 fromthe server 31 to the terminal 21 is shown.

[0074] In the drawing, the server 31 activates a management program, andterminal 21 activates a program for client. In addition, in HDD 27 ofterminal 21, a history of a file acquired from server 31 by terminal 21is stored as a file acquisition history file 1301.

[0075] At first, an installation process is started by installationcontrol unit 91 of terminal 21, and a utilization start message istransmitted to the server 31 from the terminal 21. By this, the server31 recognizes installation start,and the effectiveness of an ownautomatic management system is notified to terminal 21.

[0076] Secondly, the terminal 21 notifies server 31 of a useridentification mark (ID). When the server 31 received this ID, theserver 31 demands hardware information from terminal 21. This hardwareinformation is classification of CPU (CPU) 23 of terminal 21, clockfrequency (Clock), the OS, memory capacity, and the volume of HDD 27.The server 31 demands a file acquisition history for terminal 21 afterhaving received these information. This file acquisition history isso-called “history”. This is information such as a file name, URL(Uniform Resource Locator), compression system, a version, and theterminal 21 has these information as the file acquisition history file1301 in HDD 27.

[0077] When the server 31 received this file acquisition history,following matters are judged based on this history. Whether it wasdownloaded to the server in the past, and whether a new version of afile is already stored in a downloadable state in the server. And when anew version does not exist, the process finishes after an applicationprogram of a latest version viewed from the server 31 is installed inthe terminal 21.

[0078] On the other hand, when an application of a newer version existsin the server 31 than an application in a file acquisition historyprovided from the terminal 21, a necessary installer (an auxiliaryprogram to execute installation) is selected, this is forwarded toterminal 21.

[0079] After it is informed that transfer of the installers fromterminal 21 to server 31 is finished, the server 31 orders terminal 21to renew a file acquisition history. Based on this order, terminal 21demands a necessary item such as a version and file date from server 31.The server 31 replies to this and notifies the terminal 21 ofinformation of the item.

[0080] Based on the item information, the terminal 21 renews own fileacquisition history file 1301 and cuts off a network connected to theserver 31.

[0081] And the terminal 21 activates a downloaded installer and startsinstallation.

[0082] In this case a legitimacy test of an archive begins when theinstallation is not finished normally.

[0083] This archive legitimacy test is performed in the followingprocedures. Network connection with server 31 is performed again. Ademand of test is transmitted to server 31. Based on this test result,when necessary, the installer is forwarded to the terminal 21 again bythe server 31.

[0084] According to this invention, an application program of the mostsuitable version can be decided for the data file which is not specifiedfrom the appearance of a file, and the application program is installedautomatically, thus automatic activation of the application becomespossible.

What is claimed is:
 1. An installation method of an applicationcomprising: extracting a feature point after having analyzed data file,deciding a version of an application suited for the data file based onan extracted feature point, judging whether an application program of adecided version is already installed, and newly installing anapplication program of the version when the application program is notinstalled.
 2. An installation method of an application mentioned inclaim 1 , wherein: the feature point is a reserved word of a macroinstruction included in the data file, and the version is decided bydetecting the reserved word peculiar to each version.
 3. An installationmethod of an application mentioned in claim 1 , wherein: the featurepoint is a syntax pattern of the macro instruction included in the datafile, and the version is decided by detecting the syntax patternpeculiar to each version.
 4. An activation method of an applicationcomprising: extracting each feature point after having analyzed equal toor more than two data files, deciding a version of the applicationprogram that the data file is readable based on the feature point,simultaneously displaying the data file and an application program of aversion decided thereby, and actuating the displayed application programin relation to any one of the data files.
 5. An activation method of anapplication mentioned in claim 4 wherein: the data file is displayedwith a different symbol figure by each version corresponding to theapplication program.
 6. An activation method of an application mentionedin claim 4 , wherein: only the data file corresponding to a version ofthe application program is displayed when the application program isselected.
 7. An activation method of an application mentioned in claim4, wherein: the installation of a corresponding application program isexecuted when an application program corresponding to the data file doesnot exist.
 8. An activation method of an application mentioned in claim3 , further comprising: eliminating an existing file in case that avacancy domain is insufficient when the application program is executed.9. A record medium that a program is recorded, comprising: a step forextracting each feature point after having analyzed equal to or morethan two data files, a step for deciding a version of the applicationprogram which can read the data file based on the feature point, a stepfor simultaneously displaying the data file and an application programof a version decided thereby, and a step for actuating the displayedapplication program in relation to any one of the data files.
 10. Anapparatus for executing an application program comprising: a means forextracting each feature point after having analyzed equal to or morethan two data files, a means for deciding a version of the applicationprogram which can read the data file based on the feature point, a meansfor simultaneously displaying the data file and an application programof a version decided thereby, and a means for actuating the displayedapplication program in relation to any one of the data files.
 11. Anapparatus for installing an application comprising: a means forextracting a feature point after having analyzed a data file, a meansfor deciding a version of an application suited for the data file basedon an extracted feature point, a means for judging whether anapplication program of a decided version is already installed, and ameans for newly installing an application program of the version whenthe application program is not installed.
 12. The storage medium thatmemorized a program for sequentially executing: a step for extracting afeature point after having analyzed data file, a step for deciding aversion of an application suited for the data file based on an extractedfeature point, a step for judging whether an application program of adecided version is already installed, and a step for newly installing anapplication program of the version when the application program is notinstalled.